package com.pm.utils.SSH;

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

/**
 * Title: SSHConnection
 * @author WuJin
 * @date 2020年6月17日
 */

public class SSHConnection {
    // 服务器登录名
    String user = "root";
    // 登陆密码
    //String password = "Dsj.@rccx112";
    String password = "eSO2jhJkddZhxxCuzumYmP1M";
    // 服务器公网IP
    //String host = "10.128.64.112";
    String host = "47.104.229.4";
    // 跳板机ssh开放的接口 默认端口 22
    int port = 22;
    // 这个是本地的端口，很重要！！！选取一个没有占用的port即可
    int local_port = 3307;
    // 要访问的mysql所在的host 服务器局域网IP（127.0.0.1也行）
    String remote_host = "127.0.0.1";
    // 服务器上数据库端口号
    int remote_port = 3306;
    Session session = null;

    /**
     * 建立SSH连接
     */
    public void connectionBySSH() throws Exception {
        try {
            JSch jsch = new JSch();
            session = jsch.getSession(user, host, port);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            // 日志打印自己脑补
            session.connect();
            session.setPortForwardingL(local_port, remote_host, remote_port);
        } catch (Exception e) {
            // do something
        }
    }

    /**
     * 断开SSH连接
     */
    public void closeSSH() throws Exception {
        this.session.disconnect();
    }
}
